home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / (A)TB / (A)TBX.ADF / ClockDJv5.04 / Docs / ClockDJ.doc < prev    next >
Text File  |  1992-03-19  |  47KB  |  1,872 lines

  1.  
  2. ClockDJ   - Assembly language clock, mouse, screen and window program.
  3. Version   - 5.04
  4. Copyright - Copyright (c) by David Jenkins, 29 Jan 1992.
  5.         I can be reached at Bloom Beacon 416-283-5924,
  6.                              and CRS 416-629-4825/416-629-7070
  7.  
  8.  
  9.      This program is copyright but may be distributed freely. Please
  10. keep the documentation with the load module.
  11.  
  12. Version 5.04
  13. ~~~~~~~~~~~~
  14.  
  15. 1. New ARexx commands:
  16.  
  17.     CYCLE   ON|OFF
  18.     TOPDEFAULT  ON|OFF
  19.     PRIORITY    n           Sets clock priority
  20.     REFRESH     n               Sets refresh rate
  21.     BLANKSCREEN OFF|n           Sets screen blank
  22.     BLANKPOINTER    OFF|n           set screen pointer
  23.     KEYBLANK        OFF|ON          set key blank
  24.     MOUSESPEED      n               set mouse speed
  25.     CLICKTOFRONT    OFF|n           set click to front
  26.     DISCARD         OFF|ON          set discard
  27.     CLICKTOBACK     OFF|n           set click to back
  28.     SUN             OFF|IMMEDIATE|DELAYED    set sun mouse
  29.     KEYACTIVATE     OFF|ON          set key activate
  30.     MAPKEYS         OFF|ON          set map keys
  31.     SHOWDATE        OFF|ON          set show date
  32.     CLOSEWINDOW                     close clock window
  33.     OPENWINDOW                      open clock window
  34.     GETNAMEOFSCREEN address         gets the name of a public screen
  35.     SETDEFAULTSCREEN name           sets this screen up as the
  36.                                     default screen
  37.         GETMOUSEX           gets the X position of mouse in RESULT
  38.         GETMOUSEY           gets the Y position of mouse in RESULT
  39.  
  40.    See the main documentation for a description of these.
  41.  
  42. 2. The click to front now adheres to the double click times set in
  43.  preferences.
  44.  
  45. 3. The WindowToFront code for a click-to-front mouse operation is
  46.  back in the input handler to avoid the annoying wait when bringing a
  47.  workbench window to front in 2.04.
  48.  
  49. 4. The memory display now handles up to 99 meg.
  50.  
  51. 5. Some cosmetic changes to the menus.
  52.  
  53. 6. Menu items now use topaz 8 whatever the screen font.
  54.  
  55. 7. The window size will adjust to the font size automatically.
  56.  
  57. 8. The "Screen" menu item has sub-items of "Cycle" (same as before)
  58.  and "Top "Default". "Top Default" makes the top screen - if it is a
  59.  public screen - the default screen for opening windows that would
  60.  normally open on the workbench screen. This only works for 2.04.
  61.  
  62. 9. A couple of bugs were fixed.
  63.  
  64.  
  65. Version 5.03
  66. ~~~~~~~~~~~~
  67.  
  68. 1. Added "Key Blank" to the "Blank Pointer" menu item. This blanks
  69.  the pointer when a key is pressed.
  70.  
  71. 2. Added "Immediate" and "Delayed" options to the "Sun Mouse" menu.
  72.  "Immediate" works as before and "Delayed" activates the window after
  73.  the mouse has stopped moving.
  74.  
  75. 3. The screen blanker now checks to see if another screen has opened
  76.  in front of the blank screen, If it has, the screen is re-blanked.
  77.  
  78. 4. Thanks to Enforcer, Memmung and IOTorture a few bugs were fixed:
  79.  
  80.        Do ABORTIO in delay routine so timer.device is not
  81.        reused.
  82.  
  83.        Freemem of 40 bytes instaed of 32 bytes on closedown.
  84.        Discovered by IOTorture.
  85.  
  86.        Stick a WaitIO after the ABORTIO on closedown.
  87.  
  88.        Injected data did not always appear as it should.
  89.  
  90. Version 5.02
  91. ~~~~~~~~~~~~
  92.  
  93. 1. A number of bugs in the "Show Date" routime, and pop to front when
  94.  using overscan are fixed.
  95.  
  96. 2. If the ARexx LOADKEYS is used without a filename it will reload
  97.  the key file loaded.
  98.  
  99. 3. When using the Cygnus file requester in extended select mode, a
  100.  single selection would return a bad value. This is fixed.
  101.  
  102. 4. The following ARexx commands have been added:
  103.  
  104.  
  105.     'SETCEDDIRCOLOUR'   set the colour for ced directories.
  106.     'SETCEDFILECOLOUR'  set the colour for ced files.
  107.     'SETCEDDEVCOLOUR'   set the colour for ced devices.
  108.     'SETCEDLINES'       set the number of lines in the requester.
  109.     'SETCEDFILECOLS'    set the number in the files column.
  110.     'SETCEDDEVCOLS'     set the number in the device column.
  111.      SETCEDBOXCOLOUR'   set string requester box colour.
  112.  
  113.  
  114.  
  115. Version 5.01
  116. ~~~~~~~~~~~~
  117.  
  118. 1. In this version you can call the Cygnus file requester; for this
  119.  to work, you must copy req.library to your LIBS: directory. There
  120.  are a number of ways of calling the Cygnus file requester: in a
  121.  clock macro or from an ARexx macro using single or extended
  122.  selections. See the section on the Cygnus file requester for
  123.  details.
  124.  
  125.     The new macro variables are:
  126.  
  127.     &ced1           call Cygnus file requester.
  128.     &cede           call extended select Cygnus file requester.
  129.     &cedd           call directory only Cygnus file requester.
  130.  
  131.  
  132.    New ARexx macros for the Cygnus file requester are:
  133.  
  134.             'CEDREQUESTERDIR'       get a dir
  135.             'CEDEXTENDEDREQUESTER'  pop up a ced extended requester
  136.             'SETCEDDIR'         set ced Dir
  137.             'SETCEDFILE'        set ced File
  138.             'CEDREQUESTER'      pop up a ced requester
  139.             'SETCEDTITLE'       set title
  140.             'SETCEDHIDE'        set hide files
  141.             'SETCEDSHOW'        set show files
  142.  
  143.  
  144.  
  145.  
  146.  
  147. 2. You may define hot keys for flipping screens or windows; see the
  148.  section on window manipulation for details.
  149.  
  150.     New hot key variables for key macros are:
  151.  
  152.     &win            bring bottom window to the top.
  153.     &sc1            cycle screens including workbench.
  154.     &sc2            cycle screens excluding workbench.
  155.     &wbs            bring Workbench screen to the front.
  156.  
  157.  
  158. 3. If you select the "Show Date" menu item, the date will appear in
  159.  the clock window once per minute.
  160.  
  161. 4. I have removed the "Snooze" menu item under "Blank Pointer" since
  162.  the variety of snooze pointer shapes makes this feature impractical.
  163.  
  164. 5. The clockdj.config and clockdj.keys files are now saved to the S:
  165.    directory. If you want this version to read your existing config
  166.    and keys files, move them to the S: directory before starting this
  167.    new version of the clock.
  168.  
  169.  
  170. Version 5.00
  171. ~~~~~~~~~~~~
  172.  
  173.     Version 5.00 works on release 2.0 of the operating system in
  174. addition to earlier releases.
  175.  
  176.     The ARexx LOADKEYS routine is fixed.
  177.  
  178.  
  179.  
  180. WTFPATCH5
  181. ~~~~~~~~~
  182.  
  183.     The arc file contains 'WTFPATCH5', an improved version of the
  184. WindowToFront patch. Include 'WTFPatch5' in your start-up sequence,
  185. but make sure you remove the old version of the patch (WTFPatch)
  186. first.
  187.  
  188.  
  189.     'WTFPatch5' corrects an Intuition bug in WindoToFront and
  190. WindowToBack. To use it, simply put the 'WTFPatch5' program in your
  191. c: directory and include 'WTFPatch5' in your startup sequence.
  192.  
  193. You won't need this fix for release 2.0 of the operating system.
  194.  
  195. NOTE: Kickstart/Workbench 2.xx does not need the patch
  196.  
  197.  
  198. Program Description
  199. ~~~~~~~~~~~~~~~~~~~
  200.  
  201.  
  202.      This utility combines a clock, mouse accelerator, screen
  203. blanker, window manipulator, function keys, macros, and ARexx
  204. support.
  205.  
  206.     The display is a  small  borderless  window  which  shows the
  207. total memory left in the system  (chip  and fast) and the time in
  208. 12 hour format. The window pops to the front screens once every
  209. minute.
  210.  
  211.     You can start the program with a 'Run ClockDJ', 'Runback
  212. ClockDJ', or by clicking on a Workbench icon.
  213.  
  214. (Do NOT use  Workbench 1.3 'run >nil:' or the ARP Arun NOIO commands.
  215. Only the RunBack in the zoo file or a RunBack to the NUL: device
  216. will work correctly in this situation).
  217.  
  218. Using 'Runback' is useful if you want to close ALL CLI windows. If
  219. you start the clock with 'Runback', the output which is directed to
  220. the default CLI will not be seen. This is not usually a problem since
  221. this output is typically of the '[CLI 3]' variety.
  222.  
  223.     If you use 'Runback' or the Workbench to start the program,
  224. command macros (those ending with a '\c') MUST specify output and
  225. input redirection to nil:. Eg.:
  226.  
  227.     \lal\b\run <nil: >nil: blitz\r\c
  228.  
  229. If you do not do this the MACHINE WILL GURU.
  230.  
  231. If you want to start the clock with a 'run' so that the output from
  232. macros to the default CLI is preserved, but the startup CLI is to be
  233. closed, do something like this:
  234.  
  235. newcli "con:0/0/580/200/AmigaDOS " from df0:command.file
  236. endcli > nil:
  237.  
  238. "commands.file" is a file located on df0: containing the following:
  239.  
  240. run clockdj
  241.  
  242.  Starting the clock in this way preserves the file handle of the CLI
  243. which launched the clock and passes it to programs started by the
  244. macros.
  245.  
  246.  
  247.  
  248. Start-up parameters (CLI start-up only)
  249. ~~~~~~~~~~~~~~~~~~~
  250.  
  251. "r" specified as the first parameter will reverse the action of the
  252. mouse buttons for the features that require both to be depressed.
  253. The default is "n", for normal operation.
  254.  
  255. The "Newcli" entry in the menu may now be changed by specifying a
  256. second parameter when starting the clock. Eg.:
  257.  
  258.         run clockdj n NewWsh con:0/0/640/150/Myname
  259.  
  260. Note that if the second parameter is specified, the first parameter
  261. must also be specified.
  262.  
  263.  
  264. Arp File requester
  265. ~~~~~~~~~~~~~~~~~~
  266.  
  267.    The Arp file requester can be called from a macro either alone or
  268. as a symbolic variable within the command string. For this to
  269. work you must have V 34 of Arp.Library in your libs: directory.
  270.  
  271. To call the requester on its own, include a macro that looks like
  272. this:
  273.  
  274.    \lal\`\&arfx\r\s\2
  275.  
  276. where x is either 1 or 2. The numbers change the colour scheme
  277. of the requester,
  278.  
  279.    This will open the requester on the top screen when you press the
  280. Left-alt and ` (top left of the keyboard) together. Obviously you
  281. can make the key combination anything you want.
  282.  
  283. When you have selected a file from the requester, the next left mouse
  284. button click  will cause the selected file (including disk and dir)
  285. to be entered into the window where you click. The character delay
  286. (2 in the above example) will be observed.
  287.  
  288. There are a couple of ways to modify the string that is generated:
  289.  
  290.  
  291. Holding down Left Shift when you click will insert a right Amiga x
  292. at the start of the characters; this is useful for clearing existing
  293. data out of a string gadget.
  294.  
  295. Holding down CTRL will submit the directory for the first mouse click
  296. and the file for the second. This is useful for filling in strings
  297. where the directory and file are in separate gadgets (in Dpaint, for
  298. example).
  299.  
  300. Holding down CTRL+Left Shift when you click will submit the directory
  301. and file names separately and precede each with a Right Amiga x.
  302.  
  303.  
  304.  
  305. To include the requester as a variable in a command:
  306.  
  307.    The macro definitions will allow &arf1 and &arf2 to be defined
  308.    as symbolic variables anywhere in the string fields of a macro.
  309.    This will cause the Arp file requester to be called when the
  310.    macro is invoked; the selected file name (and path) will be
  311.    substituted for the variable. Any number of &arf1 (or &arf2)
  312.    variables can be included in the string. The variable can be
  313.    specified in either command or string macros (command macros
  314.    have a "c" at the end, string macros have an "s" at the end).
  315.  
  316.     For example:
  317.  
  318.     \ral\t\type &arf2\r\c
  319.  
  320.    When RightAlt + t are pressed, submit a "type filename" command
  321.    where "filename" is selected from the Arp file requester.
  322.  
  323.  
  324.     \ral\d\delete &arf2\r\c
  325.  
  326.    When RightAlt + d are pressed, Submit a "delete filename" command
  327.    where "filename" is selected from the Arp file requester
  328.  
  329.     \ral\c\copy &arf2 &arf1 all\r\c
  330.  
  331.    When RightAlt + c are pressed, submit a "copy file1 file2 all"
  332.    command where file1 and file2 are selected from the Arp file
  333.    requester.
  334.  
  335.     \ral\l\list &arf2\r\s
  336.  
  337.    When RightAlt + l are pressed, submit a "list filename" string
  338.    where filename are selected from the Arp file requester.
  339.  
  340.  
  341.  
  342. The Cygnus File Rquester
  343. ~~~~~~~~~~~~~~~~~~~~~~~~
  344.  
  345.         The file "req.library" is public domain; once you copy it
  346. to your LIBS: directory you can call the Cygnus file requester in
  347. much the same way as the ARP file requester above.
  348.  
  349. To call the requester on its own, include a macro that looks like
  350. this:
  351.  
  352.    \lal\`\&ced1\r\s\2
  353.  
  354. NOTE: there is no &ced2 yet!
  355.  
  356.    This will open the requester on the top screen when you press the
  357. Left-alt and ` (top left of the keyboard) together. Obviously you
  358. can make the key combination anything you want.
  359.  
  360. When you have selected a file from the requester, the next left mouse
  361. button click  will cause the selected file (including disk and dir)
  362. to be entered into the window where you click. The character delay
  363. (2 in the above example) will be observed.
  364.  
  365. There are a couple of ways to modify the string that is generated:
  366.  
  367.  
  368. Holding down Left Shift when you click will insert a right Amiga x
  369. at the start of the characters; this is useful for clearing existing
  370. data out of a string gadget.
  371.  
  372. Holding down CTRL will submit the directory for the first mouse click
  373. and the file for the second. This is useful for filling in strings
  374. where the directory and file are in separate gadgets (in Dpaint, for
  375. example).
  376.  
  377. Holding down CTRL+Left Shift when you click will submit the directory
  378. and file names separately and precede each with a Right Amiga x.
  379.  
  380.  
  381.  
  382. To include the requester as a variable in a command:
  383.  
  384.    The macro definitions will allow &ced1 to be defined as symbolic
  385.    variables anywhere in the string fields of a macro.
  386.    This will cause the Cygnus file requester to be called when the
  387.    macro is invoked; the selected file name (and path) will be
  388.    substituted for the variable. Any number of &ced1
  389.    variables can be included in the string. The variable can be
  390.    specified in either command or string macros (command macros
  391.    have a "c" at the end, string macros have an "s" at the end).
  392.  
  393.     For example:
  394.  
  395.     \ral\t\type &ced1\r\c
  396.  
  397.    When RightAlt + t are pressed, submit a "type filename" command
  398.    where "filename" is selected from the Cygnus file requester.
  399.  
  400.  
  401.     \ral\d\delete &ced1\r\c
  402.  
  403.    When RightAlt + d are pressed, Submit a "delete filename" command
  404.    where "filename" is selected from the Cygnus file requester
  405.  
  406.     \ral\c\copy &ced1 &ced1 all\r\c
  407.  
  408.    When RightAlt + c are pressed, submit a "copy file1 file2 all"
  409.    command where file1 and file2 are selected from the Cygnus file
  410.    requester.
  411.  
  412.     \ral\l\list &ced1\r\s
  413.  
  414.    When RightAlt + l are pressed, submit a "list filename" string
  415.    where filename are selected from the Cygnus file requester.
  416.  
  417.  
  418. The Extended Select Cygnus file requester
  419. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  420.  
  421.     The Cygnus file requester will allow multiple files to be
  422. selected in one pass. To call a requester capable of extended
  423. selection use &cedex (where "x" is the delimeter to be placed between
  424. the file names) in the clock macro and hold a shift key while making
  425. the selection. Note that &cede can only be used in a command macro
  426. (one ending in a \c).
  427.  
  428. Example:
  429.  
  430. \lal\pixelscript &cede \r\c
  431.  
  432. will submit a list of files to PixelScript. The delimeter is a blank.
  433.  
  434.  
  435. Directory Cynus File Requester
  436. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  437.  
  438.  
  439.       A Cygnus file requester for selecting a directory may be called
  440. by specifying &cedd in the clock macro.
  441.  
  442. Example:
  443.  
  444.     \lal\d\&cedd\r\s
  445.  
  446.     Will inject the selected directory string when the LeftAlt d
  447.         keys are pressed and the mouse is clicked.
  448.  
  449.  This requester may be called in a string or command macro.
  450.  
  451.  
  452.  
  453.  
  454. Window manipulation
  455. ~~~~~~~~~~~~~~~~~~~
  456.  
  457. The following can be selected from the menu or by clicking the
  458. correct combination of mouse buttons:
  459.  
  460.  
  461. 1. Screen blanking after a pre-defined period of inactivity.
  462.  
  463. 2. Pointer blanking after a pre-defined period of inactivity.
  464.  
  465. 3. Mouse accelerator.
  466.  
  467. 4. Sun mouse.
  468.  
  469. 5. Click the window to front with the left mouse button.
  470.  
  471. 6. Click the window to back by pressing the left mouse button
  472.    followed by the right mouse button, with the left button still
  473.    down.
  474.  
  475. 7. Cycling through screens by pressing the right mouse button
  476.    followed by the left mouse button with the right button still
  477.    down. 
  478.  
  479. 8. Left-Amiga-m will shuffle screens if "Screen Cycle" is selected.
  480.  
  481. 9. A hot-key combination can be defined for cycling screens.
  482.    In the clockdj.keys file the following variables may be defined:
  483.  
  484.     &win - brings the bottom window to the top
  485.     &sc1 - cycles screens including the Workbench screen
  486.     &sc2 - cycles screens excluding the Workbench screen
  487.     &wbs - bring the Workbench screen to the top.
  488.  
  489.  
  490.     Examples:
  491.  
  492.         \lal\w\&win\r\s
  493.  
  494.       Bring the bottom window to the front when LeftAlt w is pressed.
  495.  
  496.  
  497.     \lal\n\&wbs\r\s
  498.  
  499.     Bring the workbench screen to the front when LeftAlt n is pressed
  500.  
  501.  
  502.     \lal\m\&sc1\r\s
  503.  
  504.   Cycle screens (including the workbench screen) when LeftAlt m is
  505.   pressed
  506.  
  507.  
  508.     \lal,lsh\m\&sc2\r\s
  509.  
  510.     Cycle screens (excluding the workbench screen) when
  511.     LeftAltLeftshift m is pressed
  512.  
  513.  
  514.  
  515. The button sequences for 6. and 7. can be reversed by specifying the
  516. parameter "r" when starting the clock: eg:
  517.  
  518. run clockdj r
  519.  
  520.  
  521. All the above can be selected my menus and saved in the configuration
  522. file.
  523.  
  524.  
  525. Hide Window
  526. ~~~~~~~~~~~
  527. The program will allow the user to select a window and remove it
  528. from the screen while leaving the task that started it unaffected. 
  529.  
  530. To do this, point at the window you want to remove, hold the
  531. LeftShift+LeftAmiga+Control keys down and press the left mouse
  532. button; the window should disappear. To bring the window back hold
  533. LeftShift+LeftAmiga+Control keys and press the right mouse button.
  534.  
  535. Up to 60 windows can be hidden in this way. When retrieving windows
  536. the last one removed is brought back first. A separate list of hidden
  537. windows is maintained for each screen, so only the windows for the
  538. active screen are retrieved.
  539.  
  540. I put this feature in because my workbench screen is often cluttered
  541. with small windows opened by tasks like VirusX. These windows serve
  542. no useful purpose and I decided I would like a means of removing
  543. them.
  544.  
  545. Restrictions: 
  546.  
  547. 1. CLI windows cannot be removed. Doing so confuses things and ends
  548.    in a guru, so the CLI windows are ignored when selecting a window
  549.    to hide.
  550.  
  551. 2. Some programs look at their window size; FileInjector does this.
  552.    If the small FileInjector window is hidden and the hot key
  553.    sequence is used, the resulting window is smaller than it should
  554.    be. The solution is one of: don't hide this type of window;
  555.    retrieve the window before the hot key; retrieve the window after
  556.    the hot key. The last option would require a window refresh
  557.    too (move the window).
  558.  
  559. 3. You should use this feature with caution. Some programs don't
  560.    expect to have other tasks interfere with their windows and gurus
  561.    can occur. Generally, if the window holds only text then there
  562.    will not be a problem.
  563.  
  564.  
  565.  
  566. Changing the window size of the clock display
  567. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  568.  
  569. From release 5.04, the vertical size of the clock window changes
  570. automatically to fit the font.
  571.  
  572.  
  573. Moving the clock window to another screen
  574. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  575.  
  576.     The clock window can be popped to the next screen
  577. immediately by holding down the left shift key while clicking the
  578. left mouse button in the clock window.
  579.  
  580.     This feature works whatever is selected in the Pop to Front
  581. menu item.
  582.     
  583.  
  584. Menu options
  585. ~~~~~~~~~~~~
  586.  
  587. NewCLI
  588. ------
  589.  
  590. Gives you a new CLI window at the bottom of the screen.
  591.  
  592.  
  593.  
  594. Chip/Fast
  595. ---------
  596.  
  597. This option gives chip and fast memory displays separately. When
  598. selected the menu toggles to "Total Memory" to enable you to get back
  599. to a total memory display.
  600.  
  601.  
  602.  
  603. Colour
  604. -----
  605.  
  606. Allows you to select the colour of the clock display.
  607.  
  608.  
  609.  
  610. Priority
  611. --------
  612.                      
  613. The default priority of the clock is 2 which seems to work OK in most
  614. circumstances. Setting it to 0 makes it the same priority as other 
  615. tasks started from CLI. Making it negative gives it a lower priority
  616. than other CLI tasks. This option gives you a choice of running the
  617. clock from -3 to +4. I found the negative values useful while running
  618. a Basic drawing program: anything above -1 made the drawing process
  619. jerky.
  620.  
  621.  
  622.  
  623. Refresh
  624. -------
  625.  
  626. This is the maximum rate at which the program will update the
  627. display. The default is 5 times per second and the options allow from
  628. 10 times to once per second. I only do an PrintIText if something has
  629. changed, so even 10 times per second does not use much CPU - you can
  630. use pm to see how much.
  631.  
  632.  
  633. Blank Screen
  634. ------------
  635.  
  636. The screen will blank after the specified time (in minutes) if there
  637. is no keyboard or mouse activity.
  638.  
  639.  
  640. Blank Pointer
  641. -------------
  642.  
  643. The mouse pointer will blank after the specified time (in seconds) if
  644. there is no mouse activity.
  645.  
  646. If the "Key Blank" item is checked, the pointer will blank when a key
  647. is pressed.
  648.  
  649.  
  650. Mouse Speed
  651. -----------
  652.  
  653. Accelerates the mouse pointer. 1 is no acceleration.
  654.  
  655.  
  656.  
  657. Click to front
  658. --------------
  659.  
  660. Clicking the left mouse button in a window the specified number of
  661. times will bring it to the front.
  662.  
  663.  
  664. Click to front now gives you the option of keeping or discarding 
  665. the last of the left mouse button clicks which brings the window to
  666. front. 
  667.  
  668. There is a 'Discard' sub-menu item under 'Click to Front'. 
  669. If 'Discard' is checked the last mouse click is discarded.
  670.  
  671. The difference this option makes is mainly seen when the last
  672. mouse click is on an icon or other field you wish to select. To find
  673. out which to use, experiment.
  674.  
  675.  
  676. Click to back
  677. -------------
  678.  
  679. Click the window to back by pressing the left mouse button followed
  680. by the right mouse button the specified number of times.
  681.  
  682.  
  683. Note that this sequence can be reversed by specifying "r" as a
  684. start-up parameter
  685.  
  686.  
  687. Sun Mouse
  688. ---------
  689.  
  690. Activates the window the pointer is above without having to click the
  691. left mouse button. The activation can be immediate or delayed.
  692.  
  693.  
  694.  
  695. Screen Cycle
  696. ------------
  697.  
  698.  
  699. Cycling through screens by pressing the right mouse button followed
  700. by the left mouse button with the right button still down.
  701.  
  702. Note that this sequence can be reversed by specifying "r" as a
  703. start-up parameter
  704.  
  705. The screen cycle can also be triggered by specifying a key macro
  706. using &sc1 or &sc2.
  707.  
  708. Selecting "Top Default" in the menu will make the top screen - if it
  709. is a public screen - the default screen for opening windows that
  710. would normally open on the workbench screen. This requires release
  711. 2.04 of the OS.
  712.  
  713.  
  714. Key Activate
  715. ------------
  716.  
  717. If this feature is used, the window under the pointer will be
  718. activated when a key is depressed.
  719.  
  720. Pop to Front
  721. ------------
  722.  
  723. Selecting this item causes the clock to pop to the front of the 
  724. current screen if 'Windows' is selected, or to the top screen if
  725. 'Screens' is selected.
  726.  
  727.    The Pop to Front menu item has a sub-item called "Cling". If
  728.    you select this a message will appear asking you to click in a
  729.    window. When you do, the clock will attach itself to the selected
  730.    window; the clock menu will also become a part of this window. 
  731.    Note that only windows with no existing menus or UserPort
  732.    are eligible to be selected. In practise this confines you to CLI
  733.    windows. Once the clock is attached to a window, the "Cling" menu
  734.    item is highlighted; re-selecting "Cling" will move the clock to
  735.    its own window on the Workbench screen. If you close a window
  736.    the clock is attached to, it will re-open itself on the Workbench
  737.    screen. 
  738.  
  739.     If "Save" is selected when the clock is attached to a window,
  740.    the window title will be saved in the clockdj.config file. When
  741.    the clock is started, it will look for a window with this title
  742.    and attach itself to the window.
  743.  
  744.  
  745. Map Keys
  746. --------
  747.  
  748. When checked, the key mapping and macro functions are active.
  749.  
  750.  
  751. Load Keys
  752. ---------
  753.  
  754. Loads in a new set of key and macro definitions.
  755.  
  756.  
  757. Save
  758. ----
  759.  
  760. If you select "Save", all the current settings, including the window
  761. position, will be written to a file called "clockdj.config" in the 
  762. root directory of sys:. You should be careful to ensure that sys: is
  763. assigned to the correct disk so that the file can be read when the
  764. clock is next started.
  765.  
  766.  
  767. The next time clockdj starts it will attempt to read this file and
  768. set up the clock and associated parameters exactly as they were when
  769. you selected "Save".
  770.  
  771. You should select this option when you are happy with the way the
  772. clock looks, and then make sure you have the disk with the clockdj
  773. program  on it assigned to sys:. 
  774.  
  775.  
  776.  
  777. Quit
  778. ----
  779.  
  780. Ends the program.
  781.  
  782.  
  783. Macros and redefining the keys
  784. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  785.  
  786. ClockDJ will allow you re-map the keyboard, substitute a string
  787. of characters for a single key depression, or execute a command when
  788. a particular key sequence is pressed. The key definitions and macros
  789. must be created by you and saved in a file; the default file read
  790. when the program starts is sys:clockdj.keys. The key definitions can
  791. be changed by selecting Load Keys from the menu.
  792.  
  793.  
  794.  
  795.    Pressing CTRL-` (the "ctrl" key and the "`" key) is an escape for
  796. the next key/mouse sequence entered. This will prevent translation or
  797. macro generation on  the next key/mouse sequence.
  798.  
  799.  
  800.  
  801. NB. 'Map Keys' must be selected from the menu to activate the macro
  802.     function.
  803.  
  804.  
  805. The statement format is:
  806.  
  807. \xxx,yyy\z\wwwwww\r\s\5
  808. |    |   |   |    k c |
  809. |    |   |   |    | | |_The delay between each character in 10ms
  810. |    |   |   |    | | | increments.
  811. |    |   |   |    | | 
  812. |    |   |   |    | |_ s = string; c = command
  813. |    |   |   |    |
  814. |    |   |   |    |_ r = replace character with the string or command
  815. |    |   |   |       k = generate string or command, but keep the
  816. |    |   |   |           original
  817. |    |   |   |           character.
  818. |    |   |   |
  819. |    |   |   |_ String to be generated, or command to be executed.
  820. |    |   |   
  821. |    |   |_ Character to be re-mapped.
  822. |    |
  823. |    |_ List of qualifiers (see below), separated by commas.
  824. |
  825. |
  826. |_ Delimiter.
  827.  
  828.  
  829. NOTE: Any line that begins with an asterisk (*) will be treated as a
  830. comment.
  831.  
  832.  
  833. Delimiter
  834. ---------
  835.  
  836. A "\" is the character used to delimit fields. If you wish to include
  837. one in the string, precede it with a "^".
  838.  
  839. Qualifiers
  840. ----------
  841.  
  842. This defines which keys must be pressed with the re-map character
  843. to generate the string or command. eg., you may want the qualifiers
  844. to be left shift and right alt. If no qualifiers are needed to
  845. trigger the re-map, the statement would start with a "\\".
  846.  
  847. Multiple qualifiers are specified by separating them by commas: eg.,
  848. "lsh,lat,ctl".
  849.  
  850.  
  851.  
  852. The valid qualifiers are: (all in lower case)
  853.  
  854. lsh    Left shift.
  855. rsh    Right shift.
  856. clo    Caps lock.
  857. ctl    Control (CTRL).
  858. lal    Left alt.
  859. ral    Right alt.
  860. lam    Left Amiga.
  861. ram    Right Amiga.
  862.  
  863.  
  864. The above qualifiers must be specified in lower case.
  865.                      ~~~~
  866.  
  867. Character to be re-mapped.
  868. ------------------------
  869.  
  870. This field is either a single character - "w", for example - or
  871. a string of characters which represents a single character.
  872. If a single character is specified it must be in lower case; if you
  873. want the upper case character re-mapped you must use two statements
  874. with "lsh" and "rsh" qualifiers. This also applies to keys like "{",
  875. "!" etc. whose lower and upper case representations are different.
  876.  
  877. Valid strings are: (in lower case)
  878.  
  879.  
  880. **** NOTE: to include one of these characters in a submitted
  881. character string (or to call a file requester), prefix the key string
  882. with
  883.            an "&". Eg. &del &arf1 etc.
  884.  
  885.  
  886.  
  887. f01    The function keys.
  888. f02            |
  889. f03            |
  890. f04            |
  891. f05            |
  892. f06            |
  893. f07            |
  894. f08            |
  895. f09            |
  896. f10            V
  897.  
  898. hel     Help key.
  899. esc     Escape key.
  900. tab     Tab key.
  901. bsp     Backspace key.
  902. ret     Return key.
  903. del     Delete key.
  904. upa     Up arrow.
  905. lea     Left arrow.
  906. doa     Down arrow.
  907. ria     Right arrow.
  908. kp0     Key pad 0.
  909. kp1     Key pad 1.
  910. kp2     Key pad 2.
  911. kp3     Key pad 3.
  912. kp4     Key pad 4.
  913. kp5     Key pad 5.
  914. kp6     Key pad 6.
  915. kp7     Key pad 7.
  916. kp8     Key pad 8.
  917. kp9     Key pad 9.
  918. kp.     Key pad ..
  919. kp-     Key pad -.
  920. kpe     Key pad enter.
  921. kp)     Key pad ).
  922. kp(     Key pad (.
  923. kp/     Key pad /.
  924. kp+     Key pad +.
  925.  
  926. The following can only be used in the submitted strin or command part
  927. of the macro:
  928.  
  929. &win    bring bottom window to the top.
  930. &sc1    cycle screens including workbench.
  931. &sc2    cycle screens excluding workbench.
  932. &wbs    bring Workbench screen to the front.
  933.  
  934. &arf1   Arp file requester. Colour 1. If specified alone, the
  935.         selection
  936. &arf2   Ditto, Colour 2              will be injected into the window
  937.                                  at the next Left Mouse Button click.
  938.                                  If specified with other characters,
  939.                                  will act as a symbolic variable; the
  940.                                   selection will replace the variable
  941.                                   in the command/string.
  942.  
  943. &ced1   call Cygnus file requester.
  944. &cede   call extended select Cygnus file requester.
  945. &cedd   call directory only Cygnus file requester.
  946.  
  947.  
  948.  
  949.  
  950.  
  951. The above keys must be specified in lower case.
  952.                ~~~~
  953.  
  954.  
  955.  
  956. String
  957. ------
  958.  
  959. The string of characters which will replace the character to
  960. be re-mapped.
  961.  
  962. Special keys (del, bsp, for example) may be inserted into the string.
  963. They are specified by preceding the key name with a "&". For example,
  964. "&del" would be delete, "&ret" would be return, etc. Any key listed
  965. above in the "Character to be re-mapped" section can be specified in
  966.  this way (still in lower case).
  967.  
  968. Previous versions of the program allowed a limited set of control
  969. characters in the string by using the "^". This will still work. The
  970. characters which can be defined in this way are:
  971.  
  972.  
  973. ^[   Escape.
  974. ^h   Backspace.
  975. ^i   Tab.
  976. ^m   Return.
  977.  
  978. The "^" and "\" can be included in the string by preceding them
  979. with a "^".
  980.  
  981.  
  982. A character in a macro string may include a qualifier.
  983. Any of the qualifiers listed above under "Qualifiers" are valid.
  984. The qualifier is preceded by a "%" and multiple qualifiers are
  985. separated by commas. Eg.,
  986.  
  987. "%lal,%ctla" 
  988.  
  989. (in lower case)  would specify LeftAlt+CTRL+a.
  990.  
  991. Multiple qualifiers should be separated by commas. This can be useful
  992. for entering data in a string gadget (a file requester, for example).
  993. The file name you want in the requester may be "myfile"; specifying
  994. "%ramxmyfile" in the string would clear the gadget before filling it
  995. with "myfile".
  996.  
  997.  
  998.  
  999. The string should appear in the active window.
  1000.  
  1001. Each statement can be up to 1000 characters long.
  1002.  
  1003.  
  1004. Replace/Keep
  1005. ------------
  1006.  
  1007.  
  1008. An "r" causes the re-mapped character to be replaced with the
  1009. string or command. A "k" will keep the re-mapped character.
  1010.  
  1011. This must be specified in lower case.
  1012.  
  1013.  
  1014. String/Command
  1015. --------------
  1016.  
  1017. An "s" will submit the string into the input stream: it should
  1018. appear in the active window.
  1019.  
  1020. A "c" will execute the string as a command. A "^m" (CR) or "&ret" at
  1021. the end of the command is not needed. The command will be launched
  1022. from the clock task AT THE SAME PRIORITY AS THE CLOCK; the default
  1023. clock priority is 2. Some programs do not run well at priority 2 -
  1024. eg Txed, Excellence, Blitz - since they use input handlers running at
  1025. priority 0. To avoid this kind of problem either run the clock at
  1026. priority 0 or use the ARP Arun command and set the priority of the
  1027. new task to 0.
  1028.  
  1029.  
  1030. This must be specified in lower case.
  1031.  
  1032.  
  1033. Delay
  1034. -----
  1035.  
  1036. ****************
  1037. *    NOTE      *
  1038. ****************
  1039.  
  1040. Version 4.06 and above contain improvements which, as far as I know,
  1041. eliminate the need to specify a delay. It is still supported, however.
  1042.  
  1043.  
  1044. The delay value will delay each character by the value*15
  1045. milliseconds. Eg., a value of 5 specifies 75 ms. 
  1046.  
  1047. The delay field can be between 0 and 9.
  1048.  
  1049. If the delay is omitted, a delay of 0 is assumed.
  1050.  
  1051. Examples
  1052. ~~~~~~~~
  1053.  
  1054.  
  1055. \\f01\run  >nil: <nil: ed\r\c
  1056.  
  1057. Will run ed . Notice that no qualifier was specified
  1058. for the function key F1. The redirection to nil: is to prevent
  1059. unwanted messages in the console window.
  1060.  
  1061.  
  1062.  
  1063.  
  1064. \ctl,lsh\f01\dir df0:\r\c
  1065.  
  1066. When CTRL, left shift and F1 are depressed a dir df0: will execute
  1067. and the result will appear in the window belonging to the cli which
  1068. started ClockDJ. This would work only if ClockDJ has NOT been started
  1069. with 'RunBack'.
  1070.  
  1071.  
  1072.  
  1073. \lal\t\run >nil: <nil: Terminals:gt/gt\r\c
  1074.  
  1075. Run GT when left-alt t is depressed.
  1076.  
  1077.  
  1078.  
  1079.  
  1080. \lal\esc\newcli <nil: >nil:\r\c
  1081.  
  1082. Start a new cli when Left-alt esc is depressed.
  1083.  
  1084.  
  1085.  
  1086.  
  1087. \lal\n\David Jenkins\r\s\5
  1088.  
  1089. Submit the string when left-alt n is depressed and insert a 50 ms
  1090. delay between each character.
  1091.  
  1092.  
  1093.  
  1094. \lal\m\Inter-Office Correspondence&ret&retFrom:  David Jenkins&ret&retTo:&ret&retSubject:&ret&ret___________________________
  1095. __________________________________________________&ret&ret\r\s\5
  1096.  
  1097. Submit the string when left-alt m is depressed and insert a 50 ms
  1098. delay between each character..
  1099.  
  1100.  
  1101. \clo\`\~\r\s
  1102. \clo\1\!\r\s
  1103.  
  1104.  
  1105. Convert Caps lock "`" and "1" to "~" and "!".
  1106.  
  1107.  
  1108. \lal\f\%ramxdf0:file1\r\s
  1109.  
  1110.  
  1111. Is useful for putting a string into a requester. The "%ramx" will
  1112. submit a Right Amiga-x which will clear the string gadget before
  1113. submitting the "file1" string.
  1114.  
  1115.  
  1116.  
  1117. \lal\w\&win\r\s
  1118.  
  1119. Will bring the bottom window of the screen to the top when LeftAlt w
  1120. is pressed
  1121.  
  1122.  
  1123. \lal\n\&wbs\r\s
  1124.  
  1125.  
  1126. Will bring the Workbench screen to the front when LeftAlt n is
  1127. pressed.
  1128.  
  1129.  
  1130.  
  1131. \lal\m\&sc1\r\s
  1132.  
  1133. Will cycle through screens (incuding the Workbench screen) when
  1134. LeftAlt m is pressed.
  1135.  
  1136.  
  1137.  
  1138. \lal,lsh\m\&sc2\r\s
  1139.  
  1140.  
  1141. Will cycle through screens (excuding the Workbench screen) when
  1142.  LeftAltLeftShift m is pressed.
  1143.  
  1144.  
  1145.  
  1146. \ral\l\runwsh List &cede  \r\c
  1147.  
  1148.  
  1149. Will bring up the Cygnus file requester, let you extended select a
  1150. list of files and submit them to "list".
  1151.  
  1152.  
  1153.  
  1154. \lal\`\&ced1\r\s
  1155.  
  1156.  
  1157. Will bring up the Cygnus file requester and pump the full file name
  1158. into the window where you click the left mouse button.
  1159.  
  1160.  
  1161.  
  1162.  
  1163.                               AREXX Macros
  1164.                               ~~~~~~~~~~~~
  1165.  
  1166.     ClockDJ versions 4.00 and above contain an ARexx port.  The clock
  1167. is an ARexx host and will accept commands from an ARexx program; the
  1168. commands are listed below. If a result is expected it will be
  1169. returned in the special ARexx variable 'result'; any commands which
  1170. return a result should have a 'options results' statement in the
  1171. program.
  1172.  
  1173.  
  1174. Title of ClockDJ
  1175. ----------------
  1176.  
  1177.     The clock window has a title of 'ClockDJ' (case sensitive);
  1178. you can use this title in some of the ARexx macros. For an example of
  1179. this take a look at Move.Rexx and Move2.Rexx.
  1180.  
  1181.  
  1182. Host Name
  1183. ---------
  1184.  
  1185.     The host name of ClockDJ is CLOCKDJ (in capitals).
  1186.  
  1187.  
  1188. Errors
  1189. ------
  1190.  
  1191.     Errors are reported by setting a return code (the RC variable).
  1192.  
  1193. A return code of 20 is set for an unrecognized command.
  1194.  
  1195. A return code of 10 is set for an invalid parameter (an invalid
  1196. window address, for example).
  1197.  
  1198.  
  1199. Commands
  1200. --------
  1201.  
  1202. NOTE:  when executing commands which manipulate windows (like MOVE),
  1203. be careful not to submit too many requests for the same window
  1204. without a pause between the requests. Intuition gets upset if it
  1205. receives a request for a window before it has acted on the previous
  1206. request; the ARexx function 'delay' (in  rexxsupport.library) can be
  1207. used to accomplish this:  eg., 'call delay 5'.
  1208.  
  1209.  
  1210.  
  1211.  
  1212.     ACTIVATEWINDOW  address
  1213.  
  1214.  
  1215. Activate the window with this address. The window may be on any
  1216. screen.
  1217.  
  1218.  
  1219.                            *******************
  1220.  
  1221.  
  1222.     DELAY   value
  1223.  
  1224.  
  1225. Specify an inter-character delay value in microseconds for injected
  1226. data. The delay value remains in effect for all injected data; if you
  1227. want to reset it to zero, submit a 'delay 0' command.
  1228.  
  1229.  
  1230.                            *******************
  1231.  
  1232.  
  1233.  
  1234.  
  1235.     CEDREQUESTER
  1236.  
  1237.  
  1238. Call the Cygnus file requester. The full pathname of the selected
  1239. file will be returned in 'result'. If 'cancel' is selected  on the
  1240. Cygnus file requester, a null string will be returned in 'result'.
  1241.  
  1242. Notes: 1. You must specify OPTIONS RESULTS for this macro to work.
  1243.        2. If you want a directory to be returned even if no file
  1244.           is selected, set the file nmae to one blank with
  1245.           SETCEDFILE.
  1246.           (eg SETCEDFILE ' ').
  1247.        3. See POINTCOPY.REXX and DELETECOPY.REXX for examples on how
  1248.           to use the Cygnus file requester commands.
  1249.  
  1250.  
  1251.                            *******************
  1252.  
  1253.  
  1254.  
  1255.  
  1256.     CEDEXTENDEDREQUESTER
  1257.  
  1258.  
  1259. Call the Cygnus extended select file requester. The files selected
  1260. are placed in 'result' separated by line feeds ('0a'x).
  1261.  
  1262. Notes: 1. You must specify OPTIONS RESULTS for this macro to work.
  1263.  
  1264.  
  1265.                            *******************
  1266.  
  1267.  
  1268.  
  1269.        SETCEDDIR dirname
  1270.  
  1271.  
  1272. will set the initial directory string in the  Cygnus file requester
  1273. to dirname.
  1274.  
  1275.  
  1276.  
  1277.                            *******************
  1278.  
  1279.  
  1280.  
  1281.     SETCEDFILE filename
  1282.  
  1283. will set the initial file string in the Cygnus file requester
  1284. to filename.
  1285.  
  1286.  
  1287.  
  1288.                            *******************
  1289.  
  1290.  
  1291.  
  1292.     CEDREQUESTERDIR
  1293.  
  1294.  
  1295. Call the Cygnus file requester for selecting a directory. The
  1296. selected directory is returned in 'result'.
  1297.  
  1298.  
  1299.  
  1300.                            *******************
  1301.  
  1302.  
  1303.     SETCEDTITLE
  1304.  
  1305.  
  1306. set the title of the Cygnus file requester.
  1307.  
  1308.  
  1309.  
  1310.                            *******************
  1311.  
  1312.  
  1313.  
  1314.     SETCEDHIDE
  1315.  
  1316.  
  1317. sets the  hide files wild card string in the Cygnus file requester.
  1318.  
  1319.  
  1320.  
  1321.  
  1322.                            *******************
  1323.  
  1324.     SETCEDSHOW
  1325.  
  1326.  
  1327.  
  1328. sets the  show files wild card string in the Cygnus file requester.
  1329.  
  1330.  
  1331.  
  1332.                            *******************
  1333.  
  1334.  
  1335.  
  1336.     SETCEDDIRCOLOUR     n
  1337.  
  1338.  
  1339. sets the colour for ced directory displays to n.
  1340.  
  1341.  
  1342.  
  1343.                            *******************
  1344.  
  1345.  
  1346.     SETCEDFILECOLOUR'   n
  1347.  
  1348.  
  1349. sets the colour for the file display to n
  1350.  
  1351.  
  1352.  
  1353.                            *******************
  1354.  
  1355.  
  1356.     SETCEDDEVCOLOUR     n
  1357.  
  1358.  
  1359. sets the colour for device display to n
  1360.  
  1361.  
  1362.                            *******************
  1363.  
  1364.  
  1365.     SETCEDLINES     nn
  1366.  
  1367. sets the number of lines in the requester to nn.
  1368.  
  1369.  
  1370.  
  1371.                            *******************
  1372.  
  1373.  
  1374.     SETCEDFILECOLS      nn
  1375.  
  1376.  
  1377. sets the number in the files column to nn.
  1378.  
  1379.  
  1380.  
  1381.                            *******************
  1382.  
  1383.  
  1384.     SETCEDDEVCOLS       nn  set
  1385.  
  1386.  
  1387. sets the number in the device column to nn.
  1388.  
  1389.  
  1390.  
  1391.                            *******************
  1392.  
  1393.  
  1394.     SETCEDBOXCOLOUR     n
  1395.  
  1396.  
  1397. sets string requester box colour.
  1398.  
  1399.  
  1400.  
  1401.                            *******************
  1402.  
  1403.  
  1404.  
  1405.     FILEREQUESTER
  1406.  
  1407.  
  1408. Call the Arp file requester. The full pathname of the selected file
  1409. will be returned in 'result'. If 'cancel' is selected on the Arp file
  1410. requester, a null string will be returned in 'result'.
  1411.  
  1412.  
  1413.                            *******************
  1414.  
  1415.  
  1416.     SETARPDIR dirname
  1417.  
  1418. will set the initial directory string in the  Arp file requester
  1419. to dirname.
  1420.  
  1421.  
  1422.                            *******************
  1423.  
  1424.  
  1425.     SETARPFILE filename
  1426.  
  1427. will set the initial file string in the  Arp file requester
  1428. to filename.
  1429.  
  1430.  
  1431.  
  1432.                            *******************
  1433.  
  1434.  
  1435.    SETARPTITLE title
  1436.  
  1437. will set the title in the  Arp file requester.
  1438.  
  1439.  
  1440.                            *******************
  1441.  
  1442.  
  1443.    SETARPCOLOUR number
  1444.  
  1445.   will set the colour of the  Arp file requester. The number can
  1446.   be 1 or 2.
  1447.  
  1448.  
  1449.                            *******************
  1450.  
  1451.    POPREQUESTER text
  1452.  
  1453.   will put a requester displaying the text on the top screen with 
  1454.   a YES/NO choice. The selection is passed back in RESULT as YES or
  1455.   NO.
  1456.  
  1457.  
  1458.                            *******************
  1459.  
  1460.  
  1461.     GETACTIVEWINDOW
  1462.  
  1463.  
  1464. Gets the active window address and returns it in 'result'.
  1465.  
  1466.  
  1467.                            *******************
  1468.  
  1469.  
  1470.     GETNEXTWINDOW   address     
  1471.  
  1472.  
  1473. Get the address of the next window on a screen. The parameter is an
  1474. address of a window.
  1475.  
  1476.                            *******************
  1477.  
  1478.  
  1479.  
  1480.     GETPOINTERWINDOW
  1481.  
  1482.  
  1483. Get the address of the window under the pointer. The address is
  1484. returned in 'result'.
  1485.  
  1486.  
  1487.                            *******************
  1488.  
  1489.  
  1490.     GETSCREEN   title
  1491.  
  1492.  
  1493.  
  1494. Get the screen address from the title. Note that the title is case
  1495. sensitive. The address is returned in 'result'.
  1496.  
  1497.  
  1498.                            *******************
  1499.  
  1500.     
  1501.     GETTITLEOFSCREEN address
  1502.  
  1503.  
  1504. Get a screen title from a screen address. The title is returned in
  1505. 'result'.
  1506.  
  1507.  
  1508.                            *******************
  1509.  
  1510.  
  1511.     GETTOPSCREEN
  1512.  
  1513.  
  1514. Get the address of the top screen. The address is returned in
  1515. 'result'.
  1516.  
  1517.  
  1518.                            *******************
  1519.  
  1520.  
  1521.     GETWINDOW   title
  1522.  
  1523.  
  1524. Get the address of the window with this title. The address is
  1525. returned in  'result'. Note that 'title' is case sensitive; make sure
  1526. you specify the exact title. The window can be on any screen.
  1527.  
  1528.  
  1529.                            *******************
  1530.  
  1531.  
  1532.  
  1533.     HIDEWINDOW  address     
  1534.  
  1535.  
  1536. Hide the window with the specified address.
  1537.  
  1538.  
  1539.                            *******************
  1540.  
  1541.  
  1542.     INJECT  CLICK   data
  1543.  
  1544.  
  1545. Injects data into the window where you click the left mouse button.
  1546. A small  window will appear on the top screen asking you to click
  1547. where you want the data injected. The data to be injected is
  1548. specified by the second operand. If you precede the data by a hex
  1549. '01' ('01'x in ARexx), a Right Amiga+x will be inserted to clear a
  1550. string requester).
  1551.  
  1552.  
  1553.                            *******************
  1554.  
  1555.  
  1556.     INJECT  ACTIVE  data
  1557.  
  1558.  
  1559. Injects data into the active window. The data to be injected is
  1560. specified by the second operand.
  1561.  
  1562.  
  1563.                            *******************
  1564.  
  1565.  
  1566.     INJECT  address data
  1567.  
  1568.  
  1569. Injects data into the window with the the address specified in the
  1570. first operand. The data is specified by the second operand.
  1571.  
  1572.  
  1573.                            *******************
  1574.  
  1575.  
  1576.     LOADKEYS filename
  1577.  
  1578.  
  1579. Load new key definitions from the specified file name.
  1580.  
  1581.  
  1582.                            *******************
  1583.  
  1584.  
  1585.     MOVEWINDOW  address x-position y-position
  1586.  
  1587.  
  1588. Move a window to a new position. The first parameter is a window
  1589. address, the second is the X position and the third is the Y
  1590. position. If you attempt to move a window outside a screen's limits a
  1591. return code of 10 will be set.
  1592.  
  1593.  
  1594.  
  1595. Set the popup status of the clock.
  1596.  
  1597.  
  1598.                            *******************
  1599.  
  1600.  
  1601.     QUALIFIER  'nnnn'x  
  1602.  
  1603.  
  1604. Set a key qualifier for injected data. The qualifier is 2 hex bytes
  1605. and the values are explained below. This feature is useful if you
  1606. want to inject, for example, a Right Amiga+Right Shift+Return. The
  1607. qualifier remains set for all injected data, so you must reset it. A
  1608. normal key depression has a qualifier of '8000'x (relative mouse).
  1609.  
  1610. NOTE: this is only effective for data injected with INJECT ACTIVE or
  1611. INJECT address. It will not work with INJECT CLICK.
  1612.  
  1613.  
  1614.  
  1615. Qualifiers
  1616. ----------
  1617.  
  1618. IEQUALIFIER_LSHIFT  EQU   $0001     Left shift
  1619. IEQUALIFIER_RSHIFT  EQU   $0002     Right Shift
  1620. IEQUALIFIER_CAPSLOCK    EQU   $0004     Caps Lock
  1621. IEQUALIFIER_CONTROL EQU   $0008     CTRL
  1622. IEQUALIFIER_LALT    EQU   $0010     Left Alt
  1623. IEQUALIFIER_RALT    EQU   $0020     Right Alt
  1624. IEQUALIFIER_LCOMMAND    EQU   $0040     Left Amiga
  1625. IEQUALIFIER_RCOMMAND    EQU   $0080     Right Amiga
  1626. IEQUALIFIER_RELATIVEMOUSE     EQU   $8000   Reset to this value.
  1627.  
  1628.  
  1629. NB. OR the bits together to set a qualifier: eg: '8022'x is Right
  1630. shift+Right alt+Relative mouse. You should always include the
  1631. relative mouse bit.
  1632.  
  1633.  
  1634.                            *******************
  1635.  
  1636.  
  1637.     RETRIEVEWINDOW  address 
  1638.  
  1639.  
  1640. Retrieve the hidden window with this address.
  1641.  
  1642.  
  1643.                            *******************
  1644.  
  1645.  
  1646.     SCREENFLIP
  1647.  
  1648.  
  1649. Push the top screen to the bottom.
  1650.  
  1651.  
  1652.                            *******************
  1653.  
  1654.  
  1655.     SCREENFORWINDOW address 
  1656.  
  1657.  
  1658.  
  1659. Get the address of the screen which contains this window. The
  1660. parameter is a window address. The address is returned in 'result'.
  1661.  
  1662.  
  1663.                            *******************
  1664.  
  1665.  
  1666.     SCREENTOFRONT   address
  1667.  
  1668.  
  1669.  
  1670. Bring the screen with this address to the front.
  1671.  
  1672.  
  1673.                            *******************
  1674.  
  1675.  
  1676.  
  1677.     WINDOWTOBACK    address
  1678.  
  1679.  
  1680.  
  1681. Push the window with this address to the back.
  1682.  
  1683.  
  1684.                            *******************
  1685.  
  1686.  
  1687.     WINDOWTOFRONT   address
  1688.  
  1689.  
  1690.  
  1691.  
  1692. Bring the window with this address to the front.
  1693.  
  1694.  
  1695.                            ********************
  1696.  
  1697.     CLOSEWINDOW
  1698.  
  1699. Closes the clock display window.
  1700.  
  1701.  
  1702.                            ********************
  1703.  
  1704.     OPENWINDOW
  1705.  
  1706. Opens the clock display window.
  1707.  
  1708.                            ********************
  1709.  
  1710.     GETNAMEOFSCREEN address
  1711.  
  1712. Gets the name of the public screen whose address is specified by
  1713. "address". Note that the public screen name is not the same as the
  1714. title. The name is returned in RESULT.
  1715.  
  1716. *** Needs 2.04 of the OS ******
  1717.  
  1718.                            ********************
  1719.  
  1720.     SETDEFAULTSCREEN name
  1721.  
  1722. Sets the named screen as the default screen for opening all windows
  1723. (instead of the Workbench screen). To reset to workbench, issue the
  1724. command with a null "name".
  1725.  
  1726. *** Needs 2.04 of the OS ******
  1727.  
  1728.                            ********************
  1729.  
  1730.     GETMOUSEX
  1731.  
  1732. Gets the X position of the mouse in RESULT.
  1733.  
  1734.                            ********************
  1735.  
  1736.     GETMOUSEY
  1737.  
  1738. Gets the Y position of the mouse in RESULT.
  1739.  
  1740.  
  1741. ARexx configuration commands
  1742. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1743.  
  1744.     CHIP
  1745.  
  1746. Change the clock to display chip/fast memory.
  1747.  
  1748.  
  1749.                            *******************
  1750.  
  1751.  
  1752.     TOTAL
  1753.  
  1754. Change the clock to display total memory.
  1755.  
  1756.  
  1757.                           *******************
  1758.  
  1759.  
  1760.     COLOUR  nn
  1761.  
  1762.  
  1763. Change the colour of the clock display to nn (0-11).  Note: nn
  1764. corresponds to a colour item menu selection
  1765.  
  1766.  
  1767.                            *******************
  1768.  
  1769.  
  1770.     PRIORITY        n
  1771.  
  1772. Sets the clock priority to "n".
  1773.  
  1774.  
  1775.                            *******************
  1776.  
  1777.     REFRESH         n
  1778.  
  1779. Sets the refresh rate to "n".
  1780.  
  1781.  
  1782.                            *******************
  1783.  
  1784.     BLANKSCREEN     OFF | n
  1785.  
  1786. Sets the screen blanker off or to "n".
  1787.  
  1788.                            *******************
  1789.  
  1790.     BLANKPOINTER    OFF | n
  1791.  
  1792. Sets the pointer blanking off or to "n".
  1793.  
  1794.  
  1795.                             *******************
  1796.  
  1797.     KEYBLANK        OFF | ON
  1798.  
  1799. Sets the pointer blanking on hitting a key off or on.
  1800.  
  1801.                             *******************
  1802.  
  1803.     MOUSESPEED      n
  1804.  
  1805. Sets the mouse speed to "n".
  1806.  
  1807.                             *******************
  1808.  
  1809.     CLICKTOFRONT    OFF | n
  1810.  
  1811. Sets the window click to front off or to "n".
  1812.  
  1813.                             *******************
  1814.  
  1815.     DISCARD         OFF | ON
  1816.  
  1817. Sets whether the last mouse click should be discarded after clicking
  1818. a window to the front.
  1819.  
  1820.                             *******************
  1821.  
  1822.     CLICKTOBACK     OFF | n
  1823.  
  1824. Sets the window click to back off or to "n".
  1825.  
  1826.                             *******************
  1827.  
  1828.     SUN             OFF | IMMEDIATE | DELAYED
  1829.  
  1830. Sets the sun mouse off or to delayed or immediate mode.
  1831.  
  1832.                            *******************
  1833.  
  1834.     CYCLE   ON|OFF
  1835.  
  1836. Sets the screen cycling using the mouse buttons off or on.
  1837.  
  1838.                             *******************
  1839.  
  1840.  
  1841.  
  1842.     KEYACTIVATE     OFF | ON
  1843.  
  1844. Sets Key activate off or on.
  1845.  
  1846.  
  1847.                             *******************
  1848.  
  1849.     MAPKEYS         OFF | ON
  1850.  
  1851. Sets the key mapping feature off or on.
  1852.  
  1853.                             *******************
  1854.  
  1855.     SHOWDATE        OFF | ON
  1856.  
  1857. Sets the date function off or on.
  1858.  
  1859.                             *******************
  1860.  
  1861.     POPUP       OFF | WINDOWS | SCREENS
  1862.  
  1863. Sets the clock window pop-up option.
  1864.  
  1865.                             *******************
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871.                         David Jenkins.
  1872.